var fechanacimiento;
var fechaRetiro;
var fechaEgresoEscuela;
var fechaIngresoEstado;
var dsHistorialGrados;
var regHistorialGrados;
var registroPersona;
function gestionarBeneficios(){
    var frmUnidadServicio=new Ext.Panel({
        title: "",
        bodyBorder:false,
        height:200,
        border:false,
        asynchronous:false,
        bodyStyle: "background-color:#DFE8F6; border:0"
    });
    new Ajax.Request("frmRegistroHojaAdministrativa.html",{
        method:"post",
        asynchronous: false,
        onSuccess: function (transport){
            frmUnidadServicio.html=transport.responseText;
        }
    });
    dsHistorialGrados=new Ext.data.Store({
        autoDestroy: true,
        url: "lista-ascenso-personal",
        reader: new Ext.data.JsonReader(
        {
            root: "ascensopersonal",
            fields:[{
                name: "nhias_identificador"
            },{
                name: "nhias_anio",
                type: "integer"
            },{
                name: "dhias_fechaascenso"
            },{
                name: "npepo_identificador"
            },{
                name: "cpers_apepaterno"
            },{
                name: "cpers_apematerno"
            },{
                name: "cpers_nombre"
            },{
                name: "ngrad_identificador"
            },{
                name: "cgrad_descripcion"
            }]
        })
    });
    dsHistorialGrados.on("exception",function(proxy, type, action, options, response, arg){
        Ext.MessageBox.alert("Error",response.responseText);
    });
    dsHistorialGrados.load({
        params:{
            nperscodigo: -1
        }
    });
    var grdAscensos=new Ext.grid.GridPanel({
        title: "Historial de Ascensos",
        store: dsHistorialGrados,
        loadMask: false,
        stripeRows: true,
        height: 200,
        plugins:[new Ext.ux.grid.Search({
            mode:'local',
            iconCls:false,
            minLength:2,
            width: 350
        })],
        columns:[{
            header: "Año de Ascenso",
            dataIndex: "nhias_anio"
        },{
            header: "Fecha de Ascenso",
            dataIndex: "dhias_fechaascenso",
            width: 300
        },{
            header: "Grado",
            dataIndex: "cgrad_descripcion",
            width: 400
        }],
        tbar:[{
            text:'Agregar',
            iconCls:'icon-add',
            handler: function(){
                agregarAscenso();
            }
        },'-',{
            text:'Modificar',
            iconCls:'icon-modify',
            handler: function(){
                if (regHistorialGrados!=null){
                }else{
                    Ext.MessageBox.alert("Aviso del Sistema","Debe de seleccionar un registro para proceder a derivar");
                }
            }
        },'-',{
            text:'Eliminar',
            iconCls:'icon-delete',
            handler: function(){

            }
        }]
    });
    var seleccionGrado=grdAscensos.getSelectionModel();
    seleccionGrado.on("rowselect",function(sm,fila,registro){
        regHistorialGrados=registro;
    });
    var win = new Ext.Window({
        title:'Computo General de Beneficios',
        closeAction:'destroy',
        width:1055,
        height:500,
        x:0,
        y:0,
        shim:false,
        maximizable:false,
        resizable: false,
        animCollapse:false,
        layout: 'border',
        items: [{
            region: 'north',
            height: 180,
            split: false,
            border: false,
            layout: 'fit',
            xtype:'panel',
            items: frmUnidadServicio
        },{
            region: 'center',
            height: 320,
            split: false,
            layout: 'fit',
            border:false,
            xtype: 'panel',
            items: grdAscensos
        }],
        bbar:[{
            text:'Actualizar',
            iconCls:'icon-save',
            handler: function(){

            }
        },'-',{
            text:'Calcular Tiempo de Servicio',
            iconCls:'icon-add',
            handler: function(){

            }
        }]
    });
    win.show();
    fechanacimiento= new Ext.form.DateField({
        renderTo:'fnacimiento',
        id:'fnacimientodate',
        format:'d/m/Y'
    });
    fechaIngresoEstado= new Ext.form.DateField({
        renderTo:'fIngresoEstado',
        id:'fIngresoEstadodate',
        format:'d/m/Y'
    });
    fechaEgresoEscuela= new Ext.form.DateField({
        renderTo:'fEgresoEscuela',
        id:'fEgresoEscueladate',
        format:'d/m/Y'
    });
    fechaRetiro= new Ext.form.DateField({
        renderTo:'fRetiro',
        id:'fRetirodate',
        format:'d/m/Y'
    });
}


function buscarAdministradoG(){
    var dsPersonal=new Ext.data.Store({
        autoDestroy: true,
        url: "lista-persona",
        reader: new Ext.data.JsonReader({
            root: "persona",
            fields:[{
                name: "cpersApepaterno",
                type: "string"
            },{
                name: "cpersApematerno",
                type: "string"
            },{
                name: "npersIdentificador",
                type: "integer"
            },{
                name: "cpersNombre",
                type: "string"
            }]
        })
    });
    dsPersonal.on("exception",function(proxy, type, action, options, response, arg){
        Ext.MessageBox.alert("Error",response.responseText);
    });
    dsPersonal.load();
    var grdPersona=new Ext.grid.GridPanel({
        height: 300,
        store: dsPersonal,
        plugins:[new Ext.ux.grid.Search({
            mode:'local',
            iconCls:false,
            minLength:2,
            width: 190
        })],
        columns:[{
            header: "Id",
            dataIndex: "npersIdentificador",
            sortable:true,
            width: 80
        },{
            header: "Apellido Paterno",
            dataIndex: "cpersApepaterno",
            sortable:true,
            width: 180
        },{
            header: "Persona",
            dataIndex: "cpersNombre",
            sortable:true,
            width: 180
        }],
        tbar:[]
    });
    var seleccionPersona=grdPersona.getSelectionModel();
    seleccionPersona.on("rowselect",function(sm,fila,registro){
        registroPersona=registro;
    });
    grdPersona.on("dblclick",function(grid,rowIndex,e){
        $("txtapenom").value = registroPersona.data.cpersApepaterno + " " +registroPersona.data.cpersApematerno+" "+registroPersona.data.cpersNombre;
        $("txtidadministrado").value = registroPersona.data.npersIdentificador;
        obtenerGradoPersona($("txtidadministrado").value);
        winBuscarPersonal.destroy();
    });
   
    var winBuscarPersonal= new Ext.Window({
        title:'Buscar Personal',
        closeAction:'destroy',
        width:500,
        height:360,
        items:[grdPersona],
        shim:false,
        modal:true,
        animCollapse:false,
        resizable:false,
        bbar:[{
            text:'Cancelar',
            iconCls:'icon-cancel',
            handler: function(){
                winBuscarPersonal.destroy();
            }
        }]
    });
    winBuscarPersonal.show();
    winBuscarPersonal.focus();
}

function obtenerGradoPersona(id){
    new Ajax.Request("grado",{
        method:"post",
        parameters:{
            npers_identificador: id
        },
        onSuccess: function(transport){
            var lstgrados = transport.responseText.evalJSON();
            $("txtidgrado").value=lstgrados.grado[0].ngradIdentificador;
            $("txtgrado").value=lstgrados.grado[0].cgradDescripcion;

        },
        onFailure:function(transport){
            Information("Aviso del Sistema","Sucedio un error al intentar cargar el grado del personal"+transport.responseText);
        }
    });
}

function agregarAscenso(){
    var frmAgregarAscenso=new Ext.Panel({
        title: "",
        bodyBorder:false,
        height:200,
        border:false,
        asynchronous:false,
        bodyStyle: "background-color:#DFE8F6; border:0"
    });
    new Ajax.Request("frmAgregarAscenso.html",{
        method:"post",
        asynchronous: false,
        onSuccess: function (transport){
            frmAgregarAscenso.html=transport.responseText;
        }
    });
    var winAgregarAscenso= new Ext.Window({
        title:'Agregar Ascenso',
        closeAction:'destroy',
        width:500,
        height:360,
        items:frmAgregarAscenso,
        shim:false,
        modal:true,
        animCollapse:false,
        resizable:false,
        bbar:[{
            text:'Grabar',
            iconCls:'icon-save',
            handler: function(){
               
            }
        },'-',{
            text:'Cancelar',
            iconCls:'icon-cancel',
            handler: function(){
                winAgregarAscenso.destroy();
            }
        }]
    });
    winAgregarAscenso.show();
}